import request from "@/utils/request";

/**
 * 获取商品的 最新价格  库存  是否有效
 * @param {String} skuId - SKU id
 */
export const getCartGoods = (skuId) => {
  return request({
    method: "GET",
    url: `/goods/stock/${skuId}`,
  });
};

/**
 *  获取商品对应的sku数据
 *  @param {String} skuId - SKU id
 */
export const getGoodsSku = (skuId) => {
  return request({
    method: "GET",
    url: `/goods/sku/${skuId}`,
  });
};

/**
 * 合并购物车
 * @param {Array<object>} cartList - 购物车信息列表
 * @param {String} object.skuId - SKUID
 * @param {Boolean} object.selected - 选中状态
 * @param {Integer} object.count - 数量
 */
export const mergeCart = (data) => {
  return request({
    method: "POST",
    url: `/member/cart/merge`,
    data,
  });
};

/**
 * 获取购物车列表
 * @returns
 */
export const getCartList = () => {
  return request({
    method: "GET",
    url: `/member/cart`,
  });
};

/**
 * 加入购物车
 * @param {String} skuId - SKUID
 * @param {Integer} count - 加入购物车数量
 * @returns
 */
export const addToCart = (data) => {
  return request({
    method: "POST",
    url: `/member/cart`,
    data,
  });
};

/**
 * 删除购物车商品，支批量
 * @param {Array<string>} ids - skuId 的集合
 */
export const deleteCart = (ids) => {
  return request({
    method: "DELETE",
    url: `/member/cart`,
    data: ids,
  });
};

/**
 * 修改购物车商品（状态，数量）
 * @param {String} skuId - SKUID
 * @param {Integer} count - 加入购物车数量
 * @param {Boolean} selected - 选中状态
 * @returns
 */
export const updateCart = (skuId, data) => {
  return request({
    method: "PUT",
    url: `/member/cart/${skuId}`,
    data,
  });
};

/**
 * 全部选中&取消全选
 * @param {Boolean} selected - 选中状态
 * @param {Array<string>} ids - skuId 的集合
 */
export const checkAllCart = (data) => {
  return request({
    method: "PUT",
    url: `/member/cart/selected`,
    data,
  });
};
